The invention relates generally to detectors and, more particularly, to Viterbi based detectors.
Viterbi based detectors, that is, Viterbi hard decision detectors or soft output Viterbi algorithm (“SOVA”) detectors, are well known and are used alone or in conjunction with iterative decoders, such as low density parity check (“LDPC”) decoders, to reproduce data bits or symbols from a signal that represents stored or transmitted data. The Viterbi based detector operates in accordance with a decoding trellis that models the encoding of the data and the channel through which the data signal travels to the detector as a finite state model. The Viterbi based detector essentially determines survivor paths to respective states of the decoding trellis based on associated branch metrics. A given survivor path corresponds to the lowest “cost” or path metric associated with the paths leading to the state.
The Viterbi based detector of interest assigns a value to an associated bit or a symbol based on a selected survivor path through a “decoding window,” which has a length that is associated with the memory length of the channel. The detectors may be used with ISI channels, convolutional codes, and so forth. The decoding window, also referred to as a “decision delay,” includes a predetermined number of bit positions (or bit times), and is represented by a corresponding number of state transitions on the trellis paths. Thus, the Viterbi based detector assigns a value to a data bit or a data symbol at the start of the decoding window based on the tracing back of a selected survivor path through the decoding window.
After the values are assigned to the bits or symbols, they are passed through other decoding circuitry, such as a demodulator, to produce the corresponding user data.
The Viterbi based detector may use one of several well-known methods to assign the bit or symbol values. One method selects an arbitrary survivor path, for example, the surviving path that ends at state zero, and assigns the value at the start of the path. Another common method is a majority vote technique, in which the starting value that is associated with the majority of the survivor paths is selected. A third is to use the value associated with the best survivor path, that is, the path that is associated with the minimum cost metric. These selection methods work well and, generally, result in the assigning of the same bit values when the data signal meets the overall assumptions of the model. One such assumption is that white Gaussian noise is typical for data signals read from a magnetic storage medium.
One problem with the Viterbi detector, however, is that the detector assigns values to the data signal regardless of whether or not the signal matches the model assumptions. If, for example, the assumption of white Gaussian noise in the data signal is violated because of a defect in the recording media, the Viterbi detector may produce a bit pattern that is invalid. Such a bit pattern is then passed on through the decoding circuitry and may ultimately be presented to a user as valid data. The use of LDPC decoders in conjunction with the Viterbi decoder may compound the problem, since reliability values assigned to the invalid data are utilized in the iterative decoding operations.